Automated music harmonizer

ABSTRACT

In the field of music, good practice in the writing of harmony has been encapsulated in an extensive set of formal rules. It is a difficult and tedious mental task to check music for compliance. However, music so harmonized almost always sounds pleasing. In the present invention, a Harmonizer harmonizes a melody in accordance with the rules using an iterative technique of chord selection, permutation and submission to the rules until solutions are found. At difficulties, the Harmonizer can compromise preferences, in order to produce an optimum solution. The process is characterized by advances and retreats along the melody and is therefore suited to subsequent performance and not to real-time applications.

CROSS-REFERENCE TO RELATED APPLICATIONS Foreign Application PriorityData

International PCT Application PCT/AU01/01464 filed 13 Nov. 2001.Australian Provisional Application PR1507 filed 17 Nov. 2000.

STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT

Not Applicable

INCORPORATION-BY-REFERENCE OF MATERIAL SUBMITTED ON A COMPACT DISC

Not Applicable

BACKGROUND OF THE INVENTION

(1) Field of the Invention

The field of the invention is music. More specifically, the field isautomated creation of harmony for melody and analysis of music. The bestImplementation is in software form.

Definitions

The terms “harmony rules” and “rules of harmony” each refer to the bodyof knowledge accumulated over recent centuries by specialists and othersin the field of music which knowledge is recognized as preferredpractice in the use of harmony. The rules are exemplified in the book“Longmans' Music Course Part II—Harmony and Counterpoint”, by T. H.Bertenshaw, Longmans Green and Co., Ltd., London (1926).

The musical term “note” implies, inter alia, its pitch (some writers usethe term “tone” for note).

Terms distinguished by an initial upper case are defined for the easierreading of this document:

-   -   “Implementation” refers to “mode for carrying out the present        invention”.    -   “Melody” refers to a time series of notes having at least one        note.    -   “Harmonizer” refers to harmonizer means in the present invention        for creating an accompaniment.    -   “Rules” refers to the harmony rules accessible by and used by        the present invention. See “Representative List of Harmony        Rules” appended to the description.    -   “Controls” refers to parameters determined by the user of the        Harmonizer. Controls direct the Harmonizer process. Controls are        fixed for the duration of harmonizing a Melody.    -   “Preferences” refers to parameters not being Controls some of        which are determined by the user of the Harmonizer and others of        which are preset by the Harmonizer. Preferences direct the        harmonizing process. The Harmonizer can weaken (compromise)        Preferences.    -   “Preceding Melody Note” means melody note at which a chord was        most recently created preceding the current melody note.

(2) Background Art

Traditional Methods

Music has long been harmonized manually. That is, whether composersenter the notes or chords into a machine, such as a computer, or writethem by hand, they rely on their knowledge of the rules of harmony, oron what they think sounds good to their own ear. It is a tediousprocess, it is possible to miss the best solution, and it is difficultto comprehend simultaneously all the many rules. It is easy to finderrors in compositions of even the great composers, including Bach; andMendelssohn is noted (Bertenshaw, cited) for breaking the rules.

It is recognized that breaking the rules is sometimes deliberate inorder to achieve a particular effect, and the best Implementation doesnot preclude this being done manually after harmonizing.

Traditional methods of harmonizing include manual iterative proceduresin which, upon the seemingly satisfactory creation of a chord, thecomposer advances to create the next. The composer will often have apre-conception of what chord should be used, but may find that, afterattempting various permutations of the chord parts, the Rules cannot beaccommodated. If this remains the case after trying several of thebetter choices of chords, the composer, rather than trying a poorerchoice, will retreat to the previous chord to try alternatives there. Ifseveral such iterations are necessary, the composer may try somethingmore radical at an earlier chord in the hope of finding a solution morereadily. The Harmonizer formalizes each of these processes, with thequalification, however, that even at the point of trying “something moreradical” it will not break the Rules. None of the following inventionsdiscloses this kind of iteration.

Another tedious and error prone manual process is the recognition ofspecies, degree, inversion, mode, intervals and semitones of chords inmusic. The present invention discloses features which derive these chordparameters from the music using that part of the Harmonizer whichanalyzes chords, and which present them to the user and which annotatemusic with chord notation and figured bass.

Where a composer wishes to create or alter harmony manually, there isdifficulty in recalling and applying the many rules of harmony, asalready stated. The present invention discloses features which displaybreaches of the rules to the user using that part of the Harmonizerwhich analyzes chords according to the Rules.

Comparison with other Inventions

Citations

-   -   U.S. Pat. No. 5,525,749 Aoki; Eiichiro    -   U.S. Pat. No. 5,496,962 Meier; Sidney K.; Briggs; Jeffrey L.    -   U.S. Pat. No. 5,451,709 Minamitaka; Junichi    -   U.S. Pat. No. 4,982,643 Minamitaka; Junichi    -   U.S. Pat. No. 4,926,737 Minamitaka; Junichi    -   U.S. Pat. No. 6,124,543 Aoki; Eiichiro    -   U.S. Pat. No. 5,760,325 Aoki    -   U.S. Pat. No. 5,418,325 Aoki et al.    -   U.S. Pat. No. 5,883,326 Goodman et al.    -   U.S. Pat. No. 6,369,311 Iwamoto; Kazuhide    -   U.S. Pat. No. 5,850,051 Machover et al.    -   U.S. Pat. No. 5,003,860 Minamitaka    -   U.S. Pat. No. 6,060,655 Minamitaka; Junichi    -   U.S. Pat. No. 5,322,966 Shimaya; Hideaki

The following comparisons with other inventions are based only upon thepresent inventor's understanding of them and are made in good faith.

Comparison with U.S. Pat. No. 5,525,749 Aoki; Eiichiro

The invention of U.S. Pat. No. 5,525,749 is described as acomposition/arrangement assistant, in which a set of notes (referred toas tones) based on the melody note and the melody tonality (scale andmode) is presented to the user who then selects notes from that set forthe other voices of the arrangement. Compliance with the rules ofharmony, except for a few mentioned below, is left to the judgement ofthe user.

The present invention differs in that formal chords, characterized bydegree, mode, species and inversion, are developed successively frominternal chord specifications. The present invention assigns notes toeach voice without user involvement, assesses the chord, and reallocatesthe parts or chooses another chord if the former chord isunsatisfactory. The harmonizing of the Melody proceeds to completionwithout user interaction.

The invention of U.S. Pat. No. 5,525,749 prohibits consecutive(parallel) fifths and octaves and prohibits minor ninths from themelody. This can be done without a knowledge of the species of chords,and represents a very small portion of the rules of harmony developedover the recent centuries. The present invention is distinguished by itsability to identify chords by degree, mode, species and inversion, andby its ability to identify the distribution of chord parts amongst thevoices. This information is essential as the present invention thenproceeds to assess chords for their compliance with the many rules ofharmony available to it.

The present invention is therefore distinguished in that it proceedswithout user intervention and that it produces an accompaniment inaccordance with the Rules.

Comparison with U.S. Pat. No. 5,496,962 Meier; Sidney K.; Briggs;Jeffrey L.

The invention of U.S. Pat. No. 5,496,962 creates a plurality of options,analyzes those options exhaustively, attributes weighting factors tothose options, and chooses the “best”. Refer to “Chord Selection” below.The present invention accepts the first chord found which satisfies theControls, the Preferences and the Rules, and looks further only if itlater retreats to the current melody note.

The invention of U.S. Pat. No. 5,496,962 composes original music,employing randomness amongst other processes, whereas the presentinvention creates, without randomness, parts for voices to accompany anexisting Melody that is provided by the user. With the same usersettings, the present invention exhibits repeatability.

Comparison with U.S. Pat. No. 5,451,709 Minamitaka; Junichi

The invention of U.S. Pat. No. 5,451,709 is an automatic composer using(dynamic) databases of melody progressions and chord progressions andemploying pattern matching in the creation of melodies and chords.Although the invention discloses repetition of processes in order tooptimize choices, it is intended to compose and play in real time. Referto “Real Time Devices” below. The testing referred to in its claim 13 isagainst conditions which have been set, apparently by the user. Theinvention does not refer to the rules of harmony, whereas the presentinvention relies heavily on them. Rather than having a database ofpreferred progressions, the present invention achieves good chordprogression as a consequence of enforcing the many rules of harmony.Refer to “Chord Selection” below.

Comparison with U.S. Pat. No. 4,982,643 Minamitaka; Junichi

The comments on U.S. Pat. No. 5,451,709 apply here also. References to“rules” in the disclosure of this and the previous invention refer tothe rules of a knowledge base (expert system) and not to harmony rules.

Comparison with U.S. Pat. No. 4,926,737 Minamitaka; Junichi

The invention of U.S. Pat. No. 4,926,737 is an automatic composer usinga melody motif. It relies on a (dynamic) database of chord progressions.The earlier comments under U.S. Pat. No. 5,451,709 on rules and chordprogression apply here. The invention of U.S. Pat. No. 4,926,737, as acomposer, is naturally concerned with the development of a pleasingmelody, and much is made of the detection of “non-harmonic tones”.

The user is involved in the selection of chords for Melody notes. Bycontrast, the present invention accepts a Melody from the user, and thequality and style of the harmony produced is naturally dependent on thequality and style of the Melody. There is no user intervention duringprocessing.

Comparison with U.S. Pat. No. 6,124,543 Aoki; Eiichiro

The invention of U.S. Pat. No. 6,124,543 analyzes the melody to beaccompanied and compares the melody with a melody example. Refer to“Melody Analysis” and “Use of Examples” below.

Comparison with U.S. Pat. No. 5,760,325 Aoki; Eiichiro

The invention of U.S. Pat. No. 5,418,325 derives rules from an inputseries of notes (melody). Chord selection is further based on examplesof chord progressions. The invention appears to be an interactivedevice. Refer to “Melody Analysis” and “Chord Selection” below. There isno suggestion of revision of chord selections, whereas the presentinvention can revise the choice of chord. Refer to “Retreat andRevision” below.

Comparison with U.S. Pat. No. 5,418,325 Aoki et al.

The invention of U.S. Pat. No. 5,418,325 derives rules from an inputseries of notes (melody). Refer to “Melody Analysis” below. It describesa real time operation—refer to “Real Time Devices” below. It requiresthe input of at least one chord accompanying the input melody, andcreates harmony by an assessment of non-harmonic notes, that is, passingnotes and their allies. Refer to “Chord Selection” below.

Comparison with U.S. Pat. No. 5,883,326 Goodman et al.

The invention of U.S. Pat. No. 5,883,326 requires an example of melodyand harmony. It derives rules by analysis from the example and appliesthem to a second melody (claim 1). Significantly, the outcome ofapplying the rules to the second melody is not stated in the claim.Refer to “Use of Examples” and “Chord Selection” below. All of themusical knowledge of the present invention is confined to fixed rulesand tables. Refer also to “Real Time Devices” below. U.S. Pat. No.5,883,326 refers to a class of inventions typified by U.S. Pat. No.5,308,915 which make use of neural networks. Neural networks behave in amanner dissimilar to that of the present invention in that they learnfrom examples. The present invention has no learning capability.

Comparison with U.S. Pat. No. 6,369,311 Iwamoto; Kazuhide

The invention of U.S. Pat. No. 6,369,311 creates an accompaniment for amelody according to examples of other performances (compositions). Referto “Use of Examples” below.

Comparison with U.S. Pat. No. 5,850,051 Machover et al.

The invention of U.S. Pat. No. 5,850,051 discloses a device respondingto performances. Its distinguishing feature appears to be its capabilityof revising the operator's requirements by analysis of the operator'sperformance (the melody). Refer to “Melody Analysis” below. Theinvention of U.S. Pat. No. 5,850,051 discloses a real-time device. Referto “Real Time Devices” below.

Comparison with U.S. Pat. No. 5,003,860 Minamitaka

The invention of U.S. Pat. No. 5,003,860 requires chords to be specifiedwith the melody. Refer to “Chord Selection” below. It operates in realtime. Refer to “Real Time Devices” below. The invention of U.S. Pat. No.5,003,860 analyzes music input to determine key (changes), whereas thepresent invention does not—key and rhythm changes are explicit.

Comparison with U.S. Pat. No. 6,060,655 Minamitaka; Junichi

Refer to “Chord Selection” below. The invention of U.S. Pat. No.6,060,655 requires an input of chord progression examples which evolveswith use. Refer to “Use of Examples” below. The present inventionassesses progression after the allocation of chord parts to voices.

Comparison with U.S. Pat. No. 5,322,966 Shimaya; Hideaki

The invention of U.S. Pat. No. 5,322,966 determines a chord type given achord. Refer to “Chord Selection” below—the reverse process. Theinvention of U.S. Pat. No. 5,322,966 describes a real time operation.Refer to “Real Time Devices” below.

Melody Analysis

The present invention scans the Melody to assess the positions of beatsand cadences. Beats and cadences are determined according to theduration of Melody notes, not to their pitch.

Rather than using rules, derived from the Melody or otherwise, for theselection of chords, the present invention takes each chord(specification) in order unconditionally, and only subsequentlydetermines whether the chord should be rejected. The present inventionanalyzes the melody in combination with the harmony created, forcompliance with the Rules, rather than to determine the style or natureof the melody.

Chord Selection

The present invention does not use rules to select chords for themelody, but rather selects from fixed tables chord specificationsaccording only to the degree of the current melody note and the currentmode of the melody. It constructs harmony from the chord specification,accounting for the melody note only in the formation of doubles, andonly then tests the harmony against a fixed set of rules. Rather thanselectively choosing acceptable chords, the present invention takes allchords and rejects unacceptable ones by analysis.

Use of Examples

The present invention uses no example melodies, performances orcompositions. Whereas there is an extensive set of harmony rulesconsidered in the art as correct practice, breaches of the rules can befound in the works of most composers. The use of examples from which toderive rules is therefore likely to propagate those breaches. In thecontext of a different albeit similar composition, those breaches mayproduce harmony inferior to that obtained in the present inventioncomplying with the Rules.

Retreat and Revision

The present invention, when unable to harmonize a melody note accordingto Preferences, Controls and Rules, retreats to the Preceding MelodyNote to revise the harmony there.

Real Time Devices

Because earlier harmony has already been sounded, real time devicescannot retreat along melody notes to revise earlier harmony, whereasretreat to revise earlier harmony is a significant feature of thepresent invention. The present invention is unsuited to real time use.

Summarising the Comparisons

The present invention appears to be unique in distinguishing harmonyrules that must be complied with, from preferences that may becompromised. Its use of a comprehensive set of harmony rules as asignificant component in the process of harmonizing appears to beunique. The present invention appears to be unique in its capability,when unable to select suitable harmony, to retreat to an earlier melodynote to revise the choice of harmony there. The revision of earlierharmony gives the present invention a distinct advantage over others.

The present invention appears to be unique in its repeatability forgiven Melody, Controls and Preferences. There is no random process inthe present invention.

BRIEF SUMMARY OF THE INVENTION

The principle object of the present invention is to provide a system forautomated generation of accompaniment for Melody in accordance withharmony rules.

An object is to provide a system for analysis of music for compliancewith harmony rules.

Another object is to provide a system for analysis of chords for degree,inversion, mode, intervals, semitones and figured bass.

Yet another object is to provide a system for presentation of data fromsaid analysis of music and of chords to the user for any music input tothe invention.

The invention provides a harmonizer for harmonizing which comprisesstoring means for storing chord specifications for melody notes,advancing and retreating means for selecting melody notes one by one,selecting means for selecting a chord specification for a melody note,filling means for creating harmony parts of a chord according to thechord specification, testing means for analyzing music thus formed andrevising means for revising chord specification selection and partcreation.

Among the features of the present invention, the system provides meansfor user input of Melody, for user setting Controls and Preferences, foruser submission of the Melody to the Harmonizer. Some examples ofPreferences are the extent of leaping permitted, the separation of eachvoice, variation from the harmony of preceding chords, and therequirements of cadences. Some examples of Controls are the number ofvoices required to be created, the range limits of each voice and thefrequency of Melody notes at which chords are to be created.

Further among the features of the present invention, the system providesmeans for the Harmonizer to test whether music meets a plurality ofcriteria, some examples being the extent of leaping permitted, the rangelimits and separation of each voice, the overlapping and crossing ofvoices, variation from the harmony of preceding chords, and therequirements of cadences.

Further among the features of the present invention, the system providesmeans for the Harmonizer to place successive chords successfully socreated and tested into the music and means for “submission of the musicto the Rules”, until a rule compliant chord is obtained, in which casethe Harmonizer advances to the next Melody note.

The “submission of the music to the Rules” process involves, for saidsuccessive chords and Melody notes, “identifying chords”, identifyingpassing notes and their allies, and analyzing said successive chords,Melody notes and passing notes according to the Rules.

The “identifying chords” process involves identifying voice intervalsand semitones, and matching said intervals and semitones against aplurality of chord structures, some of said chord structures definedprocedurally and others defined in tabular form.

Further among the features of the present invention, the system providesmeans for the Harmonizer to compromise progressively in order some ofsaid criteria when the Harmonizer is unable to find a chord satisfyingboth present criteria and the Rules, and means to re-iterate said chordspecification selection, chord creation, chord testing and chordsubmission to the Rules. Compromised criteria thus implementPreferences. Others of said criteria are Controls, not compromised.

Further among the features of the present invention, the system providesmeans for the Harmonizer, upon compromising the criteria to the greatestdegree allowed and failing to obtain a rule compliant chord, to retreatto the previous Melody note as if the chord there had failed thecriteria last applicable there, and means for exiting the Harmonizerupon retreating past the first Melody note.

Further among the features of the present invention, the system providesmeans for the Harmonizer to advance to the next Melody note upon saidobtaining of a rule compliant chord, and means for exiting theHarmonizer upon passing the last Melody note.

The harmonizing process is therefore characterized by advances andretreats along the Melody in user-nominated steps, with regions ofcompromised Preferences occurring if and where the Harmonizer hasdifficulty in complying with the Preferences, Controls and Rules.

The number of voices created as harmony above and below the melody isnot limited in the present invention. One Implementation permits thecreation of a) three voices below the Melody with b) an optional fourthvoice above the Melody being the descant, and c) four voices below theMelody.

In a feature of the present invention, the system provides rulesanalysis means for analyzing any music held within the system for Rulescompliance according to said “submission of the music to the Rules”, anddisplay means for displaying to the user failures of said Rulescompliance. In this context, a plurality of said failures is obtained,whereas in the context of harmonizing it is sufficient to exit the saidrules analysis at the first failure.

In another feature of the present invention, the system provides chordcharacteristics display means using said “identifying chords” processfor the display of the characteristics of any user-selected chord.

Summarizing the Advantages

The present invention allows a user to move quickly from a Melody to acomplete composition that complies with the Rules. Its capability toretreat and revise harmony is more likely to produce pleasing harmony.Using a computer system with an appropriate sound system, the user mayassess the composition aurally with selected instrumentation. The usermay then refine Preferences and Controls, for re-submission to theHarmonizer. The deterministic nature of the Harmonizer allows the userto make meaningful comparisons of alternative Preferences and Controlsand to return to an earlier harmony confident of repeatability.Assessment of the several harmonies so created may lead the user tore-assess the Melody.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWING(S)

The drawing is a data flow diagram exemplifying the principal data pathsand processing blocks of the present invention. For clarity, somefeatures disclosed but not claimed are omitted. The drawing is not to beconstrued as limiting the present invention.

DETAILED DESCRIPTION OF THE INVENTION

The best Implementation is implied unless explicit reference is made toother modes of the invention. The invention comprises software operatingin a personal computer system (PC) comprising central processing unit,random access memory, hard disk, monitor, keyboard and optionally mouse,printer, sound card with audio system, and CD burner. The user interactswith the present invention by means of the monitor and the keyboard andthe optional mouse. That is, there are keyboard equivalents for eachmouse operation. Execution of the software in a PC is conventional.

Data Structure

The system provides means for music storing 1 of music data 2 comprisingnotes, chords, marks, expression, speeds, rhythms and keys according tovoice and to time order. The access to particular notes and chords is byarray subscripts corresponding to columns. The music data 2 alsorepresent the music layout, and so some columns can be empty. The musicstoring 1 receives output from writing 3, and therefore is designed tostore multiple-voice music data 2.

The system provides conventional output 4 for showing the user the musicdata 2.

The system provides conventional input 5 by which the user establishesmusic data 2 in the music storing 1 by editing and by file input.

In another Implementation the system provides conventional input 5 bywhich the user establishes Melody music data 2 in the music storing 1 byinput interface hardware.

Harmonizer Invocation

In a feature of the invention, the system provides invocation 6comprising a panel of options for the user to setup HarmonizerPreferences 7 and Controls 8 and to start the Harmonizer.

The Preferences 7 comprise

-   -   the value of limit of leaping permitted;    -   the value of variation of harmony at Melody pitch repetition;    -   the choice of compliance with modulation detected at cadences;    -   the value of degree of close harmony;    -   the choice of avoidance of unison of adjacent voices; and    -   the choice of variation (motion) of bass voice pitch at bars        (measures), such that the user sets Preferences 7 by appropriate        values and choices.

The Controls 8 comprise

-   -   the value of chord frequency ranging from one-per-Melody-note,        through intermediate frequencies some including syncopation and        some excluding tied Melody notes, to one-per-bar;    -   the choice of variation of tied cadences where otherwise at        cadences tied repeated Melody notes are treated as the second        note of a cadence pair;    -   the value of voice range limits of accompanying voices;    -   the choice of extension of the tenor-to-bass interval limit by        two beyond the one octave which is otherwise and elsewhere        enforced between adjacent voices;    -   the choice of soprano voice or descant (solo) voice as the        Melody voice;    -   the choice of an optional descant as a “vocal” and “instrument”        voice, the instrument voice having greater freedom of interval        from the Melody;    -   the choice of “true descant” meaning a descant which can be        omitted from a composition without losing essential harmony; and    -   the choice of copying notation (ties and staccatos) from the        Melody to other voices, such that the user sets Controls 8 by        appropriate values and choices.

The Harmonizer comprises a suite of procedures. The procedures performthe processes of harmonizing according to the following descriptions:

Harmonizer Start

Upon the user selecting the option to start the Harmonizer, invocation 6first scans the Melody

-   -   to establish the position and nature (accents) of beats        (pulses),    -   to establish iteration links according to said chord frequency,    -   to establish the position of middle and final cadences, and    -   to detect inappropriate Melody chromatics according to the scale        mode.

Upon inappropriate Melody chromatics, the invocation 6 terminatesprocessing with a diagnostic.

The Melody notes at which chords are required according to said chordfrequency are termed “nominated melody notes”.

Said iteration links are array subscripts.

In the best Implementation, the Harmonizer does not enforce the chordprogression requirements of either the Rules or other user requirements,over section marks or Melody rests. These points are termed “melodybreaks”. Retreats over melody breaks are therefore never advantageousand so the Harmonizer is prohibited from doing so.

Final Cadences are created before section marks, the Melody note therepermitting.

The Harmonizer starts at the first nominated melody note.

First, the Harmonizer process is described in more general terms, thatis, with several nominated melody notes preceding and following thepoint of discussion. Then end points are discussed.

Harmonizer process

In accordance with the scale mode and the degree of the nominated melodynote the Harmonizer selects 9 a chord specification 10 fromspecification storing 11 in which are chord specifications 12 in orderof preference for each of the scale notes and chromatic notes of aplurality of scale modes. In the best Implementation, each chordspecification 10 has a particular inversion. The said chordspecifications 12 are stored as a data array. In another Implementationthe said chord specifications 12 are defined by stored procedures.

The Harmonizer rejects some unsuitable chords, based on their degree,species or inversion. One example of said rejections is a Rule, namely,that common chords of degree one and two may not follow the other. Asanother example, a user Preference may be that chords vary their degreeupon Melody note repetitions. As yet another example, not all the chordsin the table are necessarily acceptable at cadences. All such rejectionsare deemed chord failures—see # below.

If there are insufficient parts in the chord 13 for the number of voicesbeing created 14, filling 15 doubles some parts. The preferred parts todouble in most chord species are defined in the rules of harmony and sothis is one example of a Preference not controlled by the user. Filling15 allocates parts to the voices 16, and preference testing 17 andcontrol testing 18 test the voices for excessive range, excessiveleaping, overlap, excessive separation and user Preferences 7 includingbut not limited to close harmony, varying parts upon Melody noterepetitions, and avoiding unison. In the best Implementation, becausechords selected from said chord specifications 12 have a particularinversion, if the user Preference 7 for bass motion fails, then thechord is deemed to fail—again see # below. In the case of otherfailures, the chord is deemed not to have complied with the Rules,otherwise the writing 3 places the chord into the music data 2, andsubmits the music data 2 to identifying 19 and diagnosing 20 accordingto the Rules.

At compliance 21 with the Rules, advancing 22 advances to the nextnominated melody note 23.

In the case of Rule non-compliance, re-assigning 24 iterates withpermutating 25 of the parts other than the bass, except in those casesof the Rules where permutations cannot remedy a failure. Consistent withthe requirements of overlap, crossing, unison and spread, it issometimes possible to move a part by an octave to form a newpermutation. Further permutations comprise all permutations of preferredalternative parts to be doubled according to the number of additionalparts needed; and the omission of fifths in certain chord species. Inimplementations where chord specifications 12 do not include chordinversion, the bass is included in the part permutations.

If all permutatings 25 fail the Rules, a chord failure is deemed.

# In the case of a chord failure, the chord iteration 26 points to thenext chord 27.

If there is no next chord 27 then retreating 28 retreats to thepreceding nominated melody note 29, deems the chord there to have failedthe Rules, and iterates accordingly.

End points

In the absence of a preceding melody note 29, at the beginning of theMelody or following a melody break, failing 30 terminates processinghaving failed to find a solution.

In the absence of a next melody note 23, then succeeding 31 terminatesprocessing having succeeded.

Parameter thresholds

The iterations so far described do not account for the use of thresholdswhose levels are varied and which limit the effect of some Preferences 7and other parameters. This technique has similarities to “Fuzzy logic”in knowledge-based (expert) systems, but is nevertheless deterministic.The purpose of thresholds is to compromise Preferences 7 by degreerather than directly to their weak condition. The best Implementationemploys such thresholds and they are described now:

A threshold is associated with the selection of chord specifications 12.Its weak level corresponds to the number of chord specifications 12 forthe nominated melody note. Its stronger levels limit the number of chordspecifications 12 available.

Similarly, thresholds exist for the allowable leaping of voices 16 andfor the preferred chord 13 parts that may be doubled by filling 15.

The thresholds have a hierarchy, the threshold for the chordspecifications 12 having the most freedom and that for the doublinghaving the least. Controlling 32 imposes limiting 33 to compromising 34such that those thresholds below the chord threshold in hierarchy maynot compromise their levels beyond that of the threshold immediatelyabove in hierarchy. No threshold level may be compromised beyond that ofthe same threshold kind at the preceding chord. If there is no suchpreceding chord, such as at the first nominated melody note or at thatfollowing a melody break, exception 35 may compromise the threshold onelevel, the threshold level above it permitting.

At failures of an iteration corresponding to a threshold, and if, asdescribed above, the threshold level may be compromised, then Preferenceiteratings 36 does so by one level, and repeats the entire processwithin said iteration. Upon entry to any such iteration, including thecase of advancing 22 to the next nominated melody note 23, subordinatethreshold levels are set to their strong value.

The effect of the thresholds is to implement the principle that, aftertrying several of the better choices corresponding to a given threshold,the Harmonizer, rather than trying a poorer choice, will retreat to theprevious parameter or chord to try the next choice there, where itlikewise iterates the retreats and advances.

Excessive retreats

Where the Harmonizer encounters difficulty in finding a solution, it mayhave to retreat by several nominated melody notes, unable in each case,as described above, to compromise threshold levels because of thethreshold levels of the previous nominated melody note. That is, nocompromising 34 can occur until the Harmonizer reaches the firstnominated melody note, or that following a melody break. If theHarmonizer has to retreat more than a few chords, the number ofpermutations that can be tried compounds so quickly that execution timesbecome unacceptable. In order to break this sequence, and in so doing toimitate human practice, after a few consecutive retreats 37, detectingretreats 38 disregards 39 the previous chord in assessing whether it maycompromise threshold levels.

The number of thresholds

The best Implementation employs the three thresholds described above.Derivatives of the threshold levels control other iterations, twoexamples being the avoidance of unison, and the omission of fifths.Other Implementations employ different combinations of thresholds andtheir derivatives to similar effect, within the scope of the Claims.

Without thresholds

In another Implementation, there are no thresholds, and the Preferences7 that would have had thresholds are subjected to the same kind ofhierarchical and excessive retreat processes. The harmonies so createdwould of course still comply with the Rules, but the selection of chordsmay to some extent be less optimum and the harmony sound less flowing.

Example of Harmonizer main loop

In the best Implementation, the main loop is illustrated by thefollowing pseudo-code:

-   do    -   if advancing then reset chord specification threshold    -   do        -   if advancing then reset progression threshold        -   do            -   if advancing then reset doubling threshold            -   do                -   if advancing then reset chord pointer                -   do                -    configure a chord and evaluate (includes submission                    to Rules)                -    if the chord complies then exit to end of outer                    loop, to “advance”                -   loop if another chord specification is available            -   loop while the doubling threshold can be compromised        -   loop while the progression threshold can be compromised    -   loop while the specification threshold can be compromised set        “retreat”-   loop while able to advance or retreat

Varying Harmony

When variation is set, the Harmonizer, at nominated melody notes ofrepeating pitch, prefers, depending on the degree of variation set, achange in the allocation of the parts or a change in the chord degree.

Close Harmony

Close Harmony prefers that the interval between a Melody note and thatof the next note below it may a) not exceed 3, b) additionally be 6, andc) further additionally be 8, at the user's option.

Leaping

Leaping is assessed by 1) changes in pitch of each part, and 2) totalchange of pitch in all parts.

Establishing cadences

Middle cadences are established principally by the recognition of longerMelody note durations. The latter of any two potential cadences closetogether is chosen over the former. This is another featuredistinguishing the present invention from real-time devices. Middlecadences also are established at pause marks. Final cadences areestablished at the end of the Melody, and before section marks where theMelody permits—that is, at tonic, mediant or dominant Melody notes.

Acceptances of each cadence chord and its preceding chord are restrictedprocedurally to a plurality of chord progressions deemed appropriate foreach possible melody progression. In another Implementation, tables ofsaid chord progressions restrict chord acceptance.

A common cadence form comprises a held melody note with a change in theaccompanying chords. The Harmonizer can achieve this at tied repeatedMelody notes, the user setting the Harmonizer Control “Vary tiedcadences”. The Harmonizer treats said tied notes as one for recognizingthe cadence by duration, but treats the notes separately for thecreation of chords. Otherwise, two tied repeated Melody notes aretreated as the one second note of a cadence pair.

Modulating cadences

The Harmonizer modulates middle cadences if Melody notes uniquelycharacteristic of an alternative key are present before and within a barof the cadence.

Additionally, at the user's Preference, Melody notes within the barbefore the cadence are assessed as potential roots, thirds and fifths ofthe chord to be acceptable at the cadence.

Other Modulation

At each bar and also following middle cadences, the occurrence of aMelody note of longer duration within the bar affects the acceptance ofthe current chord in that the note at said occurrence is preferred to bea root, third or fifth of said current chord.

In another Implementation, this modulation detection is a user option.

Identifying Chords

The Harmonizer identifies chords without reference to the said chordspecifications 12. This ensures that Harmonizer music data 2 areassessed by the Rules as is other music data 2 held in the music storing1.

Identifying 19 comprises

-   -   calculating characteristics 40 comprising intervals, semitones        and doubling of voices;    -   calculating characteristics 40 further comprising the degree,        mode, species and inversion of chords.

In the best Implementation, notes are defined in part by pitch measuredin semitones, and so the semitones between voices is obtained bysubtraction. The calculation of each note degree accounts for the scalekey, scale mode and any chromatic present to find the scale degree withwhich the pitch of a note is associated, such that a “tonic” note isrepresented by 1, “supertonic” note by 2 and so on by unit steps to the“leading” note by 7. In order to distinguish more readily the minorseventh from the leading note, the minor seventh is given the value 14,chosen because of its equivalence to 7 whenever the operation “modulus7” is performed.

In order to overcome the ambiguity of chromatics, there is for each notea sharp and flat preference which derive from the scale and which can beoverridden by the user's use of an accidental. Further, there are twospecial cases accounted for being 1) the leading note chromatic in theminor mode; and 2) F represented as E# in the scales of F# and D#m. Inthe best Implementation certain scales are not recognized, one examplebeing C flat, B being preferred.

The interval between two notes is given by: (the difference between thenote degrees) mod 7+1.

The inversion and mode are derived from the said intervals and saidsemitones. In the best Implementation, the chords of the dominantthirteenth are derived by comparison with stored values of intervals andsemitones for each inversion, whereas other chords are derivedprocedurally, each technique deemed appropriate in its case, theprocedural technique generally being faster.

Some chord characteristics 40 are ambiguous, and identifying 19 resolvesthe ambiguity by reference to the chord following the ambiguity. Thatis, a chord may change its identity during a scan for Rules compliance,such that a chord may be approached as one form and left as the other.This is in accord with the Rules (§661–5). Identifying 19 chooses thealternative most likely to satisfy the rules of progression andresolution. The best Implementation distinguishes the followingambiguities:

-   -   sus4c and 7sus4a;    -   sus9&4a and 7sus4d;    -   9a and sus9&4b;    -   7th (without a 5th) and sus9; and    -   7th (with a 5th) and 9th.

In retreat, identifying 19 ignores a failed chord from the music data 2lest it affect ambiguities.

Identifying 19 derives the root name (chord degree) from the inversion,the bass degree and the scale key, either directly if the root ispresent, otherwise by difference from another part. Identifying 19 findsthe mode of a chord by reference to the semitones of the third, or, whenthe third is absent, by reference to the semitones of the third of thechord of resolution. In another Implementation, identifying 19 uses theidentity implied by said chord specifications 12. Figured Bass is achord annotation of part intervals from the bass, certain intervalsbeing omitted by convention.

Submitting the music data 2 to diagnosing 20

The submission comprises

-   -   identifying 19 chords;    -   accounting for preceding and following chords and passing notes,        as the Rules require; and    -   evaluating compliance 21 with the Rules.

In determining compliance 21, diagnosing 20 looks for reasons to failthe harmony.

The time progression of a voice is calculated as an interval using thesame procedure as for intervals between notes of a chord, as describedat Identifying Chords above.

In the best Implementation, compliance 21 with the Rules is determinedprocedurally, and as one example, the two rules §361 and §386 combinedare illustrated by the following pseudo-code:

VI to V progression

-   -   if the preceding and current chords are at their root positions        then        -   if the preceding chord is of dominant root then            -   if the preceding chord is a triad in a minor key or a                seventh in a major key then                -   if the current chord is a submediant triad then                -    if the preceding chord has no seventh and no fifth                    then rule §361 fails                -    if the third of the current chord has no double                    then rule §386 fails                -   end if            -   end if        -   else if the current chord is a dominant triad then            -   if the previous chord is a submediant triad in a minor                key then                -   if the current chord has no fifth then rule §361                    fails                -   if the third of the previous chord has no double                    then rule §386 fails            -   end if        -   end if    -   end if

Monitoring the Harmonizer

In the best Implementation, the Harmonizer displays at output 4 progressalong the nominated melody notes as a bar, brightened according tocompromises of the Preferences 7. In another Implementation, theHarmonizer displays at output 4 progress along the nominated melodynotes, showing all chords which satisfy the Rules. The Harmonizerregularly adjusts the output 4 so that the area of interest is centred.At each nominated melody note the Harmonizer displays at output 4 aMelody note position number (its array subscript); the chord parts bynumber against each voice; the nature of the beat (pulse); the degree ofthe Melody note by number according to the current scale; and thedegree, species and inversion of the chord. The output 4 brightens thebeat symbol at cadences, and brightens a part number if its octaveoption is taken. Any changes of key encountered during advance orretreat are accounted for in the selection of chord specifications andin the Rules, and the current key and rhythm are displayed. The user hasthe option of quitting the Harmonizer process prematurely.

An Implementation additionally incorporates an optional trace facilitywhereby the user may set a trigger point and may step through theHarmonizer process by single selected chord-specification steps or byadvance and retreat steps. In the trace mode, performance is not anissue, and so the output 4 can afford to display more information.Therefore, details of failed chords are also displayed, together withreasons for their failure. Commands allow normal (non-trace) mode toresume, the setting of another trigger point, or an immediate quit ofthe Harmonizer process.

Scanning for beat

Some rules require knowledge of the position of accents. One example isthat suspensions must lie on an accent. All music data 2 held in themusic storing 1 has defined, by default or by the user, the rhythm andthe number of beats in the first bar. The Harmonizer determines theposition of bars, accents and beats by accumulating, in each voice, noteand rest durations, and by comparing the accumulations with said rhythmor with the rhythm as it changes in the course of the music data 2. Inan Implementation, where the Harmonizer detects discrepancies betweenvoices or notes overlapping a bar, the Harmonizer indicates bar errorson the output 4 by an identifiable colour.

Error Display succession

In an Implementation, any music data 2 held within the music storing 1is subjected to analysis according to identifying 19 and diagnosing 20.Harmony failures are stored in a circular data array (that is, aconventional array in which the subscripts are circular). Error Displaysuccession minimises the use of the output area. After the text of abreach has been displayed for a short time, the output 4 selects thenext breach in the array and displays it in the same place. The output 4detects 1) the absence of any breaches so that other less significantmessages can be displayed, and 2) the presence of only one breach sothat there is no unnecessary display flicker.

Transposition

An Implementation provides transposition means for transposing musicdata 2. Transposition includes appropriate changes of key and themaintenance of appropriate chromatics, by the use of the same dataemployed in said ambiguity of chromatics. Means for transposing theMelody can be particularly useful when the Harmonizer has difficulty dueto the Melody being too high or too low.

Searching for Chords

An Implementation provides search means for searching for chords.Searching makes use of the identifying 19 of chord characteristics 40deriving from “identifying chords”. The music data 2 is searched foroccurrences of chords having characteristics defined by the user. Theuser may leave some search characteristics undefined, so that the searchmay be, as one example, for all dominant thirteenths regardless of theirinversion. The search means searches from the current cursor positionand places the cursor at the next chord matching the search criteria.

Merging Repeats

An Implementation provides merge means for combining notes. At theuser's option, a harmony is refined by merging repeated notes inuser-nominated voices into single notes of equivalent time bycombination. Merges are limited such that the times of combination donot exceed a user-specified time. At the user's option, merges arelimited to tied notes. Merging accounts for music theory rulesconcerning accents, and requires that the times of the combinations canbe represented by musical notation, so that not all repeated notes arenecessarily merged. Merging tied repeated notes is useful in the Melodyvoice after “Vary tied cadences” described above. Note that whereseveral voices of a chord become merged, there may remain only passingnotes, and harmony errors may be so introduced. Merging is thereforedone after the completion of a harmony.

Other Implementations

Those skilled in the art will appreciate that other Implementations arepossible within the scope of the Claims. So the invention may bepracticed other than as described above. One example provides forhardware input 5 and output 4 of music data 2; and another exampleprovides invocation 6 comprising hardware switches and controls.

Notes concerning the Claims

The claims reference the definitions under “(e)(1) Field of theInvention”.

Representative List of Harmony Rules

The paragraph numbers are those of Reference 1, beginning at §250, therebeing an earlier volume, not of harmony rules. Only strict (“must”)rules are shown, unless otherwise stated. The missing paragraphs coverdefinitions, explanations, and preferred practice implemented as thePreferences.

Some rules continue the topic of preceding paragraphs—each rule shouldbe read in its context.

There are certain apparent ambiguities and contradictions and the bestImplementation reconciles them, one example being rule §328.

Harmony rules

-   -   275 Three or more notes sounded together constitute a chord.    -   292 Voices must not cross nor overlap.    -   328 If the bass of a major first inversion is doubled, the two        voices must move to and from the chord by step in contrary or        oblique motion.        -   Interpretation: understood not to apply when the chord            repeats, nor to augmented fifths.    -   332 Where the bass of consecutive four-voice first inversions        moves by step, no one chord part shall be doubled in both        chords.    -   337 The second inversions of only the tonic, dominant and the        subdominant common chords are permitted. (But see §603, §608,        §636, §647)    -   342 The bass must not leap to a second inversion from a first        inversion of a different root.    -   344 The bass of a second inversion must not leap, except from        arpeggio to the first inversion of the same chord.    -   345 A second inversion, followed by a chord on the same bass        note but not preceded by a chord on the same bass note, must        occur on the accent of the bar.)    -   346(a) The only consecutive second inversions permitted are of        the dominant root followed by the subdominant root. (b) No voice        may move in consecutive fourths with the bass.    -   353 In a minor key, the major sixth may not be used as part of a        chord, except in the major (chromatic) chord of the supertonic        (see §596) and its derivative (see §603).        -   Concession: This rule can force very unsatisfactory harmony            when the major sixth occurs in the melody. Reference 3,            Chapter 9 regards any note of the melodic minor as            legitimate in a chord. The best Implementation implements            §353 for other than the Melody voice. In practice, other            rules, particularly §445, result in the Harmonizer producing            appropriate modulation near the sixth.    -   361 When a chord of the dominant moves to a chord of the        submediant, or vice versa, in a minor key, the dominant must be        complete, and the third must be doubled in the submediant.    -   369 The minor seventh may be used in a chord as the bass of a        first inversion only in a minor key where it is preceded by the        tonic and followed by the minor sixth.    -   375, 486, 7 The seventh of a dominant seventh resolves by        falling a second, rising a semitone, or remaining. The third        resolves by rising a second, falling a semitone, or remaining.    -   379 No note may proceed by similar motion to the note (or 8ve)        on which a dissonant note resolves.    -   377 No dissonant note may be doubled.    -   380 Subject to §375 etc above, the dominant seventh may resolve        to any chord.    -   381 In resolving to the tonic, the seventh falls a second, and        the third rises a second.    -   384 In resolving to the submediant, the seventh falls a second,        and the third rises a second.    -   386 A submediant triad following a dominant seventh in a major        key must double its third.)    -   387(a) Before resolving, a seventh may first proceed to the root        or the fifth of the chord—ornamental resolution, or, (b) before        resolving, the seventh may transfer to another voice.    -   400 The dominant seventh may rise only from a second inversion        to a tonic triad first inversion.    -   405 In addition to or in combination with §387(b), different        inversions may follow, subject to §400.    -   414 Secondary sevenths must be prepared.    -   415 “Preparation” refers to the sounding of a note in the same        voice before the chord in question. The preparation must be        consonant.    -   416-23 In a secondary seventh chord, the seventh resolves by        falling a second. The root rises a fourth to the root of the        resolution. Note, however, that some sevenths are identical to        inverted ninths, and may therefore have their resolutions.        (§578). Note also §517.    -   420 The second inversion of secondary sevenths is not used.    -   428 No voice may move a major seventh nor more than an octave.    -   429–30 A voice should not move by an augmented interval,        except (a) resolving a note to a harmony note, (b) in a sequence        (not formally implemented in the best Implementation), and (c)        as passing notes in the harmonic minor.        -   Concession: the Melody is exempted for the sake of (b).    -   431 A voice moving by a diminished interval should return to a        note within that interval.    -   433 The leading note must not be doubled. (a) The leading note        in a perfect cadence must rise to the tonic; otherwise, (b) when        the leading note is followed by a tonic chord, it must rise, but        not necessarily to the tonic. (§298c not shown says better,        which is implemented)    -   434 No two voices may move in perfect fifths.    -   436 The extreme voices may not move in fifths (perfect or        diminished).    -   437–9 No two voices may move in octaves or unisons, unless a        unison or octave passage is intended.    -   440–1 Hidden consecutive perfect fifths and perfect octaves of        the extreme voices are prohibited except where a tonic chord        moves to a dominant or subdominant or vice versa, the upper        voice moving by step, or a chord moves from its first inversion        to the root. Also see §500e, §535 & §536.        -   Concession: except the third of the first chord falling to            the fifth of the second; or the upper voice moving by            step—Ref. 2, p36.    -   443 No two voices may move in consecutive seconds or sevenths.    -   445 False Relation: a note in one chord having appeared in the        previous chord or previous but one chord chromatically altered        (or vice versa) must be in the same voice, except as in §446, 7,        9.    -   446 The earlier note (§445) may be doubled (but note rule §437).    -   447 False relation does not occur if the third of the first        chord is the root or fifth of the second, nor when the altered        note forms part of a fundamental discord.    -   449 Passing notes and their allies do not produce false        relation.    -   485–7 (includes §375, §381–4, 7, §400) In a dominant seventh        chord, the seventh may only fall a second, rise a chromatic        semitone, remain to be a note of the next chord, transfer to        another voice, or, where the second inversion is followed by a        tonic first inversion, rise a second. The third may only rise a        second, fall a chromatic semitone, or remain.    -   492c A suspension must resolve by proceeding by step (§493) to a        harmony note on the chord over which it is suspended (but see        §506).    -   495 The suspended ninth resolves by falling to the eighth.    -   500a A suspension must be prepared (§415).    -   500b A suspension must occur on an accent.    -   500e No suspension is allowed if in its absence forbidden        consecutives would occur.    -   500g A second cannot resolve on a unison (covered by §554).    -   506 Some interchange of parts is allowed in the resolution of a        suspension, but if a voice moves to the note of resolution, it        must be by contrary motion.    -   507 The suspended fourth resolves by falling to the third.    -   510 In the first inversion of a suspended fourth, the fourth is        a ninth above the bass (see §554, reading fourth for ninth and        third for root)    -   517 The leading note can be a suspended seventh of the tonic,        resolving to the eighth. (cf. §416)    -   519, 520 Suspensions may resolve ornamentally, moving to other        harmony notes of the same chord, or as passing or auxiliary        notes, provided the correct resolution occurs before the chord        changes.    -   535 Passing notes in several voices at once must move by        contrary motion unless they make satisfactory combinations.        -   Interpretation: “satisfactory combinations”: Ref 2, p80            states that they usually move in thirds or sixths. The best            Implementation requires that, unless they are moving            contrary, the two notes should maintain their interval, and            lets the rules for consecutives catch the illegal ones.            Three passing notes are deemed to form a new chord, with all            that that entails (§275).    -   536 Rules §434 to §443 (that is, chord to chord) apply also in        the presence of passing notes.    -   537 Passing notes must not introduce the prohibited        consecutives.    -   548 The dominant ninth may be major or minor.    -   550 The major ninth may not be used in a minor key—see §353.    -   552 Unless it descends at once to the root, the major ninth must        be above the third.    -   553 The dominant ninth resolves by rising or falling a second.        The rest of the chord may remain (dominant seventh), or (see        §555).    -   554 A resolution must not be sounded with the dissonant note,        except that, where a ninth resolves onto the root, the root may        be sounded in the bass.    -   555 The dominant ninth may resolve to a tonic common chord, the        ninth falling a second.    -   557 The root is omitted from inverted ninths.    -   558 The fourth inversion of the major ninth is not permitted.    -   574,5 A secondary ninth resolves by falling a second. The root        rises a fourth. The ninth should be above the third (but see        §614 and §416).    -   576 Where an inverted secondary ninth, not being a third        inversion, has no root, the seventh is not dissonant and        therefore does not require resolution.    -   582 The dominant eleventh resolves by rising or falling a        second, the rest of the chord remaining (dominant ninth) (or the        ninth may also resolve); or remaining, the chord of resolution        being a tonic common chord or a supertonic discord.    -   584 The seventh and ninth are subject to the rules of the        dominant seventh and ninth except that where an inverted        dominant eleventh has no root, the seventh and ninth are not        dissonant and therefore do not require resolution.    -   587,590 The dominant thirteenth is rarely complete in practice.        Either or both the ninth and thirteenth may be minor. Notes up        to the eleventh are treated as in the dominant eleventh.    -   588 The dominant thirteenth may resolve by step while the rest        of the chord remains, or the chord may resolve to a tonic chord,        the thirteenth remaining, rising a semitone, or leaping to the        tonic.    -   589 (Note 2) “Rising a semitone” only in major keys, the minor        thirteenth rising to the tonic major third.    -   591 If the major thirteenth chord resolves on to a tonic chord,        the thirteenth must leap to the tonic. (c) The thirteenth must        be sounded above the seventh, except when the thirteenth is in        the bass.    -   596 In the major common chord of the supertonic, the third must        not be doubled, and it rises or falls a semitone to the        following chord. The chord of resolution must be some form of        tonic common chord, or a chord containing a diatonic fourth,        otherwise modulation occurs.        -   Interpretation: The best Implementation allows modulation to            a dominant chord.    -   602 The supertonic seventh (that is, a fundamental discord) must        fall a second or remain. In the latter case it may be doubled,        and one of the two may leap. §596 applies to the third.    -   603 In the second inversion the root may be omitted and the        seventh doubled (as §641).    -   605 The tonic seventh (that is, a fundamental discord) must be        followed by a dominant or supertonic discord, or a subdominant        chord.    -   606 The tonic seventh third may rise a second or fall a        semitone.    -   607 The tonic seventh must fall a second or remain. It may not        be doubled (cf §602).    -   608 The tonic seventh may be used in each inversion.    -   611,2 The supertonic ninth (that is, the fundamental discord)        resolves by rising or falling a second, the chord following the        rules for the dominant ninth. Alternatively, it may resolve on        to a dominant discord, falling a second, remaining, or, if minor        (ninth), rising a semitone.    -   614 The omission of the root and the positions of the third and        major ninth are as for the dominant ninth—see §552, 4, 7.    -   633 The augmented sixth on the minor sixth resolves on        -   (a) the tonic common chord or inversions,        -   (b) the dominant common chord or inversions,        -   (c) an inverted dominant ninth, or        -   (d) a supertonic discord.    -   634 The notes forming the augmented sixth interval should not        proceed in similar motion. The other notes proceed as for        supertonic discords: the third as for the seventh and the fifth        as for the ninth.        -   Interpretation: The motion requirement is not mandatory, but            the best Implementation requires it.    -   636 The augmented sixth may be used in the second inversion.    -   638 The augmented sixth on the minor second resolves in the        equivalent manner of §633, except that in minor keys the tonic        common chord is not permitted.    -   640 The diminished triad on the leading note must double only        the third. The other notes are resolved as in their parent        dominant seventh.    -   641 In the first inversion of that triad, the subdominant may be        doubled, the upper falling and the lower rising.    -   642 The augmented fifth of the mediant in minor keys must be        prepared, and is resolved by rising a second. The root rises a        fourth to a common chord.    -   644, 5 The augmented fifth may be used in the relative major,        that is, on the tonic, in which case the fifth is best        approached by a semitone step. The best Implementation requires        it.    -   646 The augmented fifth may be used on other notes of the scale.    -   647 The augmented fifth may be used in the second inversion, as        well as root and first inversions.    -   661–5 Modulation by enharmonic change is described, the point        here being that a chord may be approached in one key and left        (resolved as necessary) in another, the Rules being applied in        each context.

References for the Rules

-   -   1. Longmans' Music course Part II—Harmony and Counterpoint, T H        Bertenshaw, Longmans Green and Co., London, 1926    -   2. Harmony Step by Step, Dulcie Holland, EMI Music Publishing,        ISBN 0 86947 1449    -   3. The New Harmony Book, Frank Haunschild, AMA Verlag GmbH,        Bruhl, 1994, ISBN 3-927190-68-3.

1. An automated music harmonizer for harmonizing melody comprising musicstoring means for providing music storage of music data according tovoice and to time order; specification storing means for providing chordspecification storage of a plurality of chord specifications of species,degrees and parts for each of a plurality of note degrees and notechromatics; selecting means for selecting from said chord specificationstorage a chord specification for the degree and the chromatic of aMelody note of said music data; creating means for creating inaccordance with said chord specification a chord of parts to accompanysaid Melody note; filling means for doubling and omitting parts in saidchord of parts in accordance with harmony rules, as required to fillaccompanying voices; writing means for placing said chord of parts intosaid music storage at said Melody note; control testing means fortesting said music data up to the current Melody note for compliancewith Controls; preference testing means for testing said music data forcompliance with Preferences; identifying means for calculatingcharacteristics comprising intervals, semitones, doubling, degree,species, inversion and modes of said music data; diagnosing means fortesting said music data for compliance with a plurality of rules ofharmony; re-assigning means, for the case of any failure of saidtestings for compliance with Controls, Preferences and plurality ofrules of harmony, for permutating said parts, doubles and omissions, andfor iterating said filling, writing, identifying and testings forcompliance; nested Preference iterating means, for the case of all saidpermutations failing said testings for compliance, for compromising frominner to outer one of the Preferences by one of a plurality of stepsfrom strong to weak and for iterating the processing of saidpermutations; controlling means for limiting Preference compromises,such that a Preference may not be compromised further than thecompromise of the corresponding Preference at the Preceding Melody Notenor be compromised further than the compromise of the next inner limitedPreference at the current Melody note; exception means, for the casewithout a Preceding Melody Note and without an inner limited Preference,for compromising the limited Preference; chord iterating means, for thecase of all Preference compromises failing said testings for compliance,for selecting the next of said chord specifications and for iteratingthe chord processing so far described; retreating means, for the case ofall chord specifications failing, for retreating to the Preceding MelodyNote and for continuing said selection of chord specifications and saidchord processing iterations at said Preceding Melody Note as if thechord established there had failed; failing means, for the case of noPreceding Melody Note, for ending harmonizing; advancing means, for thecase of passing said testings, for advancing to the next Melody note forwhich a chord is required and for restarting said selection of chordspecifications and said chord processing iterations; and succeedingmeans, for the case of no next Melody note for said advance, for endingharmonizing.
 2. The automated music harmonizer of claim 1 wherein theorder of the iterations of the several controlled Preferences and theselection of chord specifications is altered.
 3. The automated musicharmonizer of claim 1 further comprising means for detecting severalsaid retreats without said advances whereupon said compromise of acontrolled Preference disregards said corresponding Preference at thepreceding Melody note.